软考真题
第4题
设有n个货物要装入若干个容量为C的集装箱以便运输,这n个货物的体积分别为 {s1,s2,…,sn},且有Si
下面分别采用最先适宜策略和最优适宜策略来求解该问题。

最先适宜策略(firstfit)首先将所有的集装箱初始化为空,对于所有货物,按照所给的次序,每次将一个货物装入第一个能容纳它的集装箱中。

最优适宜策略(bestfit)与最先适宜策略类似,不同的是,总是把货物装到能容纳它且目前剩余容量最小的集装箱,使得该箱子装入货物后闲置空间最小。

【C代码】

下面是这两个算法的C语言核心代码。

(1) 变量说明

n:货物数

C:集装箱容量

s:数组,长度为n,其中每个元素表示货物的体积,下标从0开始

b:数组,长度为n, b[i]表示第i+1个集装箱当前已经装入货物的体积,下标从0开始

i,j:循环变量

k:所需的集装箱数

min:当前所用的各集装箱装入了第i个货物后的最小剩余容量

m:当前所需要的集装箱数

temp:临时变量

(2) 函数 firstfit





【问题:4.1】根据【说明】和【C代码】,填充C代码中的空(1)〜(4)。
【问题:4.2】根据【说明】和【C代码】,该问题在最先适宜和最优适宜策略下分别采用了(5)和(6)算法设计策略,时间复杂度分别为 (7) 和(8)(用0符号表示)。
【问题:4.3】考虑实例n= 10, C= 10,各个货物的体积为{4,2,7,3,5,4,2,3,6,2}。该实例在最先适 宜和最优适宜策略下所需的集装箱数分别为(9)和(10)。考虑一般的情况,这两种求解策略能否确保得到最优解? (11)(能或否)
2012年 下半年 下午试卷 案例
正确答案:
你的答案:
请先在App中激活(应用市场搜“软考真题”)
知识点:
试卷:
2012年 下半年 下午试卷 案例

笔记

加油!

请先在App中激活(应用市场搜“软考真题”)

2020-09-17


csj561

请先在App中激活(应用市场搜“软考真题”)

2023-09-22


答题卡
加油
纠错
得分:0